package com.hhkj.admin.conf.service.biz;

import com.hhkj.admin.conf.common.cont.ConfConst;
import com.hhkj.admin.conf.domain.Conf;
import com.hhkj.admin.conf.model.req.ConfReq;
import com.hhkj.admin.conf.model.res.ConfRes;
import com.ruoyi.common.base.biz.service.biz.BaseBizService;

import java.util.Map;

public interface ConfBizService extends BaseBizService<Conf, ConfReq, ConfRes> {

    /**
     * 获取所有系统配置规则
     * @return key - 规则模块名称， value - 详细规则信息
     */
    Map<String, Object> all();

    /**
     * 获取配置
     * @param code 配置编码
     * @return 具体配置
     * @param <Res> 配置结果类型
     */
    <Res> Res getConf(ConfConst.Code code);


    /**
     * 修改规则
     * @param req 新规则
     * @param code 规则类型
     * @return
     * @param <Req> 请求类型
     */
    <Req> boolean updateConf(Req req, ConfConst.Code code);


}
